查看原文
其他

程序媛成长纪:从 DBA 到研发工程师

21CTO 2023-06-18

21CTO 导读:本文主人公分别是阿里巴巴集团,阿里云DBA,参与研发阿里云数据库,向内部、外部客户,即使用阿里云数据库服务的企业,及其运维与软件研发人员。另外一位是潘娟,京东金融高级 DBA,主要负责京东金融生产数据库运维及数据库平台、中间件开发工作。多次参与京东金融 6.18、11.11 大促活动的护航工作。



据传说,这个世界上有两类珍稀物种:

1. 大熊猫

2. 美女DBA


DBA 就是数据库管理员,需要广泛的数据库、业务、系统和网络知识;要心细如发,善于沟通的性格;和7*24小时待命,火线解决问题的意志。


他们工作繁重,又享受生活。身肩重任,一行代码影响千家万户;又和我们是一样普通的80、90后。他们上马可杀敌;卸甲能弈棋。机车、街舞、冲浪、游戏、茶道、瑜伽、读书、郊游、旅行,样样都没落下。


那么,女 DBA 是怎样工作的呢?本文我们共同一探究竟。



双十一之前,我们有幸采访到阿里云数据库团队的美女工程师凌洛,从而揭开了女DBA神秘的面纱,以及她和同事们与双十一、与阿里云数据库的小秘密~


更细心的女DBA----专家服务的日常


凌洛所在的组叫专家服务组,服务所有使用阿里云数据库的内部、外部客户,即使用阿里云数据库服务的企业,及其运维和开发人员。


这个服务是全流程的:从客户考虑使用阿里云数据库,进行前期测试、选型,到“上云”(即从原数据库迁移到阿里云数据库服务的过程),之后的日常使用,培训。只要有问题和需求,都会用到凌洛所在组的服务。



这是一份影响重大又非常繁琐的工作。说影响重大,是因为这直接关系到客户的业务能否正常运转,继而影响到咱们每个人的幸福生活。


我可不是夸大其词哦,数据库就像自来水和电灯,咱们的生活早就离不开它了。你叫个外卖、打个游戏、播个直播、更不用提双十一的买买买,都离不开数据库的服务。一旦数据库down掉,哪怕只是慢了一些,都可能影响用户使用体验,甚至导致客户流失。


说繁琐是因为阿里拥有10万个以上数据库实例,而只有几个人负责专家服务。凌洛要服务的客户涉及各行业,小到个人站长,大到世界500强。出现的问题也是五花八门。


“这么多客户,这么多行业,我听起来头都晕啦,你怎么能忙的过来呢?”


“要忙的事确实很多,所以我们一直在提高自动化水平啊。除了即时解决问题,我们还在做相应产品,把经验沉淀到产品里,就不用人肉解决了。最近刚发布了一款产品CloudDBA,客户可以免费使用这个服务,自己快速诊断解决问题。我也就能腾出更多时间做风险预估和产品优化了。”



凌洛说的CloudDBA就好比数据库医生,采用场景配置、机器学习等手段推荐优化方案。大大节约客户的时间。以后CloudDBA这位医生,会越来越强大,取代很多繁琐的人肉工作。


“你觉得女DBA和男DBA,做这份工作有什么区别吗?” (我知道你们一定很关心这个问题)


凌洛努力地想了想,“我没觉得有区别,如果非说有,那就是女DBA更细心,在和客户交流上门槛比较低,客户很愿意找我解决问题。”


“哦? 只是因为你更细心?”


凌洛给了我一个意味深长的眼神,笑而不答。


干一行、爱一行----误打误撞的DBA,无怨无悔的阿里人


眼中的凌洛,爱穿白裙子,爱编花辫子,很难想到她是一个女工程师,我印象中,IT女生至少要喜欢穿裤子才可以啊。


其实一开始,凌洛也打算从事教师、管理这类“适合女生”的工作,但一次填报志愿的偶然,让她进入了计算机专业。


“刚开始看其他DBA工作,觉得好轻松,谁知道真做起来,那酸爽~”


从2011年进入天猫,凌洛已经经历了5次双十一的洗礼。之前几年主要服务天猫,双十一自然是重头戏。交易量不断刷新记录,对数据库的挑战也超出我们的想象。


1秒内,10万笔交易要能同时完成!不能让顾客看的到,买不到。这是凌洛曾参与的一个重点性能优化项目,当时为了产品压测,有时要凌晨回家。顾客快乐地买买买、商户开心地赚赚赚。大屏幕上订单如潮水般涌入,大屏幕下映照着凌洛和同事们满轴转的忙碌。


转入阿里云后,开始服务外部客户。她面临全新的挑战:外部客户没有统一的规范,难以控制;体量、业务场景、经验都有较大差异;应对大活动的经验少。凌洛面临的状况比以前复杂多了,经常为客户的问题着急上火。


“既要服务客户,又要总结案例,优化产品,经常忙得脚打后脑勺。”


我暗想,怪不得女DBA这么少呢,也不由得好奇“你怎么坚持下来呢,我看你一点都不悲观,不抱怨,反而很开心?”


“我是干一行、爱一行。每次客户问题解决了,业务可用了,特别开心。就把累都忘了,干劲十足!”



个性化生活----做霸爷的兵,不会玩怎么行?


我飞快的记录,心中却一直哀叹,唉又是一只有工作没生活的程序媛啊。为了千万人的幸福,舍弃了自己的幸福,巴拉巴拉...


“我最近迷上了香道” 。啊?! 我不禁想起古装剧里,幽居山谷的美人焚香抚琴的场景。"就是那种看起来很有逼格,玄而又玄的玩意儿?"


“哈哈,没有多玄。香道可以让人放松,打香篆还蛮考验人的,你要是耐不住性子,心浮气躁的,香篆就成不了型。打香篆的过程会让你的心慢慢静下来,打完香篆后点燃它,看着烟气袅袅上升,那香气围绕在你四周,只觉得天籁寂静,身心愉悦,可享受了。周末,我会固定拿出半天时间,瑜伽或者和朋友读书,不拘社科、人文、技术。”


“阿里有很多派,有各种活动,只有你们想不到,没有我们不会玩,做霸爷的兵,不会玩怎么行~~”


她口中的霸爷,就是阿里云数据库的掌门人-褚霸,他的“事迹”很多,不过今儿是凌洛姑娘的主场,便不多表了。记得他是机车男神就可以了,出了名的爱玩、有品。对于团队的小伙伴,他在工作上给足空间,也希望他们有自己的个性化生活。


这是怎样的一群人呢?


他们工作繁重,又享受生活。身肩重任,一行代码影响千家万户;又和我们是一样普通的80、90后。他们上马可杀敌;卸甲能弈棋。机车、街舞、冲浪、游戏、茶道、瑜伽、读书、郊游、旅行,样样都没落下。


他们聚少离多,奔赴在阿里几大园区和天南海北的客户现场,连一起开个会也不易。

可是仿佛有一束看不见的光,系着他们的心,牵着他们的魂,引领着他们对未来的想象。把每一个工程师,每一行代码,每一次和客户的沟通汇集起来,迸发出巨大的能量,冲出云栖小镇,洒向世界。


这束光,就是阿里云数据库。



阿里人的梦想----做领先于时代的产品


最开始,阿里云做数据库只是为了满足集团内部的需要,因为阿里的业务迭代太快,普通数据库厂商无法满足。


2011年、阿里云组建团队研发数据库,从开别人的车到自己造车卖给别人。阿里云从零开始,不断攻关,成为世界级的云数据库服务商。在9月的云栖大会上,全新一代云数据库产品POLARDB横空出世,结束了高性能通用数据库由外国厂商垄断的局面。



京东DBA潘娟


在人们眼中,女性作为程序媛可能获得某些优待如妹子独有的沟通优势又能推动项目推广、与老板畅谈人生,但这只是一段小时间而已。她仍然要经历无数的虐,P1 级故障、投诉、争吵与被尊重、无数的跨越式成长(数据库、运维、分布式技术...,与男性程序员一样,成功没有捷径,愿与你产生共鸣,继续战斗。 



一、起于 DBA


1. 契机


诚实讲,我一直不清楚自己想做什么。于是,研究生临近毕业,麻木游离在各大公司的面试中。感谢和启荣 (刘启荣是现京东金融运维副总监)的相遇,让我开启了 DBA 的航程。启荣老大是个高情商、接地气的老板。我是第一次遇到面试谈人生问题,不告诉面试结果,一言不合就让我来听他讲课的面试官。当时他讲到的数据库与 DBA 的世界,以及那种自由又充满生机的互联网交流氛围,让我意识到有些人是与众不同的,有些地方是心之所向的。


2. 女 DBA 的日常


DBA 的工作是严谨、有趣、辛苦的。


一个初出茅庐的丫头,突然闯入一个全新数据库世界,又空降在京东这样量级的平台上,所谓的数据库技术、业务架构、系统的视野与互联网的眼界,就像山呼海啸一样奔腾而来,以至于产生了一种真的扛不住的无力感。


但是,为我抉择的负责,为大家给予我信任的回报,持有这样心理的我,开始疯狂地像海绵一样吸收着这海洋般的知识,并不断提升着自己的认知。一整年的周末都躲到公司无人的会议室啃着《MySQL 技术内幕:innodb 存储引擎》、《高性能 MySQL》、工作笔记、Shell 编程技术,去培养自己的数据库知识及运维技能。因为我知道,当一个人没有足够实力的时候,只有时间和努力才能让她蜕变,以及获得别人的尊重。


作为组里唯一的妹子,感谢他们只是把我当汉子用,而不是当牲口用。很多夜间运维的活儿尽量不给我。不过我真心觉得,只有这些真刀真枪的工作才能见识真正的战场,只有这样的战场才能让战士迅速成长。所以我投入了这无尽的战斗中,看到过凌晨 3 点的月亮,也哭诉过整夜迁移无尽头的折磨和无奈。


而第一次失误导致用户收到乱码短息、被投诉造成 P1 级别(最高 P0)故障时,也终于知道什么叫电话被领导打爆。一个人自责地在冬天回龙观的大街上嚎啕大哭,不知所措,着急地想抽自己两嘴巴子!现在觉得,那场景非常类似电影里小姑娘被男朋友甩了的经典剧情。


不过那种疼到骨子里的自责确实让我真切地感受到生产环境的重要性,以及 DBA 工作的极尽严谨,我输入的一条命令背后是千千万万与业务紧密相关的数据,是无数用户的使用与体验。好吧,更是我甩给老板的锅和整个部门战友们的 KPI。感谢那一次次让我头破血流的南墙,因为它让我知道了做事的深浅与尺度,让我拥有了能够面对更大挑战的勇气和力量。


3. 小结


在这段时间,让我成长为一个合格的 DBA。除了掌握数据库知识体系及周围生态外,还积累了大规模数据库运维经验。此外,所谓的风险意识、快狠准和粗中有细的运维意识也开始慢慢建立。但我觉得有两个能力非常重要,那就是:作为下属对上级命令的绝对执行力,以及面对严苛环境的抗击打能力。


二、承于 DevOps


1. 契机


人工运维以及脚本运维已经无法满足激增的业务发展,对数据库运维要求出现多元化、多维度的需求。同时运维的边际效益日益凸显,于是整个运维部门开始向 DevOps 转变。而当时负责数据库工单系统自动化平台建设的前辈突然被借调,于是该项目基本停滞。


那时,我心里小恶魔非常想让我主动请缨负责这个项目,但当时的我并没有多少项目开发经验,人微言轻。可是,依据当时部门发展风向,自动化是大势所趋,只有顺势而为,才能有机会获得大家的认可和肯定,此时若主动出击,便有可能危中求机。


再静心分析,前期积累的大规模数据库运维经验,可以让我理解这个项目的核心需求和期望,而曾经和研发及运维同事的交往基础、妹子独有的沟通优势又能推动项目推广。


于是在得到欢哥(周欢,现网联数据库负责人)鼓励和授权后,开始动手!正如那句话所说:并不是所有的比赛,都能允许你做好十足的准备。面对危机,有时候尝试放手一搏,可能会带来希望和转机。


2. 日常


没有 Python 经验,我就死啃 Python 开发,并换工位到组里 Python 大神旁边,方便随时请教。大半年的时间基本处于封闭开发状态,实行小步迭代的敏捷开发方针。在地铁上分析需求、设计方案、构思代码。在公司跟老板明确需求、开发功能、解决 Bug。


周末则利用业务低谷,进行上线测试。此外,还要跨部门合作和推广。刚开始的时候,工作推动很难有进展。因为别人根本不听你说什么,任你焦急、愤怒,全都无济于事。越是想着如何说服对方,越只能得到升级版的争吵。后来渐渐意识到,不要尝试与他人争对错,因为根本没有对错。如何通过协商、退让达到双方共赢、双方满意的目的才是王道。


同时,启荣哥告诉我互联网的三不要精神:不要钱、不要脸、不要命,我觉得很有道理。在一次次的沟通和打脸后,信任逐渐被建立起来了。对方尊重你,是尊重你的付出,尊重你的能力,尊重双方的利益。最终,数据库工单平均执行效率提高 70%、非法工单拦截率为 30%、工单正确执行率保持在 99.99% 的报告终于为这大半年的付出画上圆满的句号。


3. 总结


这个阶段依据部门风向,从运维 DBA 转向数据库运维开发 DBA,积累了项目开发经验,未卜先知的情况下,竟为后续转行打下基础。此外,跨部门沟通合作、推广也让我懂得了要学会选择和衡量、共赢与合作,并保持乐观平和的心态。


三、转于 Java


1. 契机


数据库自动化工单平台已取代人肉工单操作,发展趋于平稳,同时深感自己的圈子和视界太狭隘。就在这样浑水摸鱼的时候,启荣老板给我介绍了新的男神:张亮,原当当架构部负责人,热爱开源,怀揣着将 Sharding-Sphere 打造为业界一流的金融级开源分布式数据库中间件的梦想加入了京东金融。


可能考虑到我 DBA 的知识积累和研究生英语水平,当然最重要的是我不要脸的人美心善。所以,让我协助亮哥将 Sharding-Sphere 官档翻译成英文。开源、数据库中间件、微服务、分布式事务、数据库治理。一大堆新鲜的名词冲进我贫困的大脑,打开了更广阔世界的天窗,并对我产生强大吸引力。


此外,当时平滑的成长曲线让我迫切想打开自己狭隘视野的枷锁。于是,我开始仔细分析现状:开源、分布式、微服务、Java 开发等对我来说又是个全新领域,转行可能将抛弃部分积累的数据库行业积淀。不过,这些数据库运维经验,对全是 Java 开发以及架构出身的团队来讲,未尝不是一种互补的优势。


同时,前期数据库自动化工单平台项目也能帮我做跨行的平滑过渡。思及此时,我终于跟启荣探讨了人生问题和情感问题,并转向了金融级开源分布式数据库中间件 Sharding-Sphere 的开发。


2. 日常


前期对官档的翻译工作,让我对 Sharding-Sphere 的核心功能,产品定位有了比较全面的理论层面认识。于是开始从源码层面入手,修改小的 Bug,编写测试用例,到后来负责一整块的内核功能。在亮哥的指导下不断深入 Sharding-Sphere,并对编码又了新的理解。


它绝对不是故步自封,随心所欲地编写,而是存在规则和逻辑的简洁优雅编码之道以及重构迭代的价值意义。函数与函数之间的空行、段首多少空格、变量名字命名这些在常人眼里无足轻重的事情都会被亮哥格外重视,他对设计和代码 120% 的要求让我对细节有了 100% 的注重。


从 GitHub 代码提交记录可以看出整个变化的步伐,从平缓的小步改造,到后期的模块开发(见下图)。坐在工位上看似发呆地进行思考设计、逻辑整理。获得对整套业务逻辑的深刻理解,便觉得酣畅淋漓;通过 DBA 视觉和亮哥交流需求,得到新的启示和想法,便觉得颇有意义;


而更多时候是一个人进入所谓的”心流”,将脑子里勾画出架构用代码去渐渐实现,那种忘记周遭,沉迷于代码与音乐世界,又让人感觉时光飞逝。当真正想做一件事情、对其充满兴趣的时候,才会知道什么叫乐此不疲。



此外,也开始逐渐走向台前,对外分享,建立影响力。通过认识大牛,同样开阔了自己的眼界并培养行业灵敏度。京东在线平台的分享扩大了 Sharding-Sphere 内部影响力;参加火币、饿了么、贝壳金服的交流分享了解大家对数据库中间件的认识和需求;


担任 2018 ODF 数据库大会的主持,重新看到数据库的行业发展;担任 ServiceComb 交流活动的主持,则能感受到开源的力量。一次次活动经验,也是一次次小小的积淀,慢慢让自己懂得了分享的价值,并建立对外影响力。感谢各位大牛的提携之恩,也感谢启荣总,亮哥给予的一次次分享交流的机会。其实,每个人都有自己独特的优势,多多分析总结,因地制宜,合理运用,才有可能百尺竿头更进一步。


3. 总结


这一阶段对内低头磨炼开发之道以及学习架构重构,并了解开源、分布式、中间件的架构体系。对外积极交流分享,培养行业影响力,锻炼表达能力。对时间自由掌控,对事情要求极致。


四、合于?


当下,仍需不断对所在行业的宽度、深度进行积累。在数据库中间件、 DataBase Mesh、开源方面投入主要精力。在亮哥带领下将 Sharding-Sphere 做到理想高度。同时,也希望自己多思考,多磨砺下品性,把控前进方向,明确目标。


然而现实很骨干,浅薄的我还在探索之中。对于未来,如果你的高度不足以支撑你当下的选择,不如借鉴下大牛和前辈的思考,站的在那个高度的他们的指点或许会给你打开新的天窗。


一路成长,总结其原因,我觉得主要有三大点:

第一,感谢我上面提到的各位老板能给予我机会、能放权让我去做事情、能宽容我的傲慢与偏见;

第二,感谢京东的大平台,能让我结识到这些大牛前辈,能让我看到不断变化进步的世界,并推动我不得不去自我提升;

第三,则是感谢自己,懂得思考并及时按照发展调节方向,唯有全力以赴、放手一搏才能危中求机。


对于未来,现在的我们可能都没有答案。只是,曾经一步步扎扎实实的探索确实让我有了更坚强的意志和勇气去面对必须要面对的现实。愿这一路的小小故事,能给正在阅读的你一些思考和想法,并引起你的共鸣。我相信每个人都有自己的故事,只要不断学习精进,每个人都是独特的你。


小结


BATJ 们聚集了全球最顶尖的数据库专家。不是精英不聚头,在最顶级的数据库团队,从事专家服务的女DBA,也都是一只有工作没生活的程序媛。为了千万人的幸福,舍弃了自己的幸福...


软件互联网行业是一个高薪的行业,慢慢的大批女子也挤进了IT行业,总体来说也不亚于男性。女程序员、女 DBA 们渐渐地成为了IT界一条亮丽的风景线。


无论男女,无论程序员,还是DBA,对数据库的要求,不是满足用户,而是超越用户需求。给自己充裕的几年时间,持续创新,领先于对手,领先于时代。


做领先于时代的产品,这不仅是全体技术人的梦想,也是是中国所有互联网人的梦想!



作者:凌洛,潘娟

说明:本文综合自右军之技术琐话(TheoryPractice)、云栖社区(yunqiinsight)公众号,在此鸣谢。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存